\section{Nodes}

\subsection{Description}
The nodes of a finite element mesh are the points where the degrees of freedom reside. Each node object has, at least, the following information:

\begin{itemize}
\item Coordinates wich define its position in space. Typically (x,y,z) coordinates.
\item Definition of the degrees of freedom in the node (displacements, rotations,\ldots)
\end{itemize}

The nodes can also serve to define loads or masses that act over the model at its position.

\subsection{Node creation}

To create a node you can use the following commands:

\begin{lstlisting}[frame=single]
  nodos.newNodeXY(x,y)
  nodos.newNodeIDXY(tag,x,y)
  nodos.newNodeXYZ(x,y,z)
  nodos.newNodeIDXYZ(x,y,z)
\end{lstlisting}

\noindent where:

\begin{description}
\item{nodos:} is a node container obtained from the preprocessor.
\item{tag:} is an integer that identifies the node in the model.
\item{(x,y) or (x,y,z):} are the cartesian coordinates that define node's position.
\end{description}

\subsection{Predefined spaces}
Nodes definition in typical elastic FE models.
\begin{verbatim}
from model import predefined_spaces as ps
nodos= preprocessor.getNodeLoader
\end{verbatim}
\begin{center} 
\begin{longtable}{ll}
{\tt ps.gdls\_elasticidad2D(nodos)} & 2 node coordinates $(x,y)$ \\
                                    & 2 node DOF $(u_x,u_y)$ \\ 
{\tt ps.gdls\_resist\_materiales2D(nodos)} & 2 node coordinates $(x,y)$ \\
                                    & 3 node DOF $(u_x,u_y,\theta)$ \\ 
{\tt ps.gdls\_elasticidad3D(nodos)} & 3 node coordinates $(x,y,z)$ \\
                                    & 3 node DOF $(u_x,u_y,u_z)$ \\ 
{\tt ps.gdls\_resist\_materiales3D(nodos)} & 3 node coordinates $(x,y)$ \\
                                    & 6 node DOF $(u_x,u_y,u_z,\theta_x,\theta_y,\theta_z)$ \\ 
\end{longtable} \end{center}

